By not using templated struct, no instantiation will be required, and it will be easier for searching when using __traits
See Implementation
By not using templated struct, no instantiation will be required, and it will be easier for searching when using __traits